/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.sysmo.server;

/*import java.io.IOException;
import java.io.PrintWriter;*/
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
/*import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;*/

/**
 *
 * @author Derek
 */
public class SysmoServerServlet extends HttpServlet {

    /**
     * 当Java EE服务器启动时应创建此Servlet实例，此Servlet的init()方法被调用，然后
     * 创建相应的sysmo服务器实例。
     * <br />
     *
     * 创建服务器实例时，应该传入实际参数，可通过应用服务器的Servlet启动参数从外部传
     * 递入此Servlet，然后再由此方法传递给sysmo服务器。
     * <br />
     *
     * 此方法还将创建的服务器对象加入到context的上下文中。
     *
     * @throws javax.servlet.ServletException
     */
    @Override
    public void init() throws ServletException {
        super.init();
        try {
            ServletConfig config = getServletConfig();
            SysmoServer sysmo = new SysmoServer(
                    config.getInitParameter("config-file")); //获取启动参数
            //保存新建的sysmo服务器对象
            config.getServletContext().setAttribute("sysmoServer", sysmo);
            sysmo.doServerLoop();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
